Formal Use of Design Patterns and Refactoring
نویسندگان
چکیده
Design patterns has been used very effectively in object-oriented design for a long time. Refactoring is also widely used for producing better maintainable and reusable designs and programs. In this paper, we investigate how design patterns and refactoring rules are used in a formal method by formulating and showing them as refinement laws in the calculus of refinement of component and object-oriented systems, known as rCOS. We also combine refactoring and design patterns to provide some big-step rules of pattern-directed refactoring.
منابع مشابه
Elemental Design Patterns: A Link Between Architecture and Object Semantics
Design patterns are an important concept in the field of software engineering, providing a language and application independent method for expressing and conveying lessons learned by experienced designers. There is a large gap, however, between the aesthetic and elegance of the patterns as intended and the reality of working with an ultimately mathematically expressible system such as code. In ...
متن کاملPatterns to Guide Practical Refactoring: Examples Targetting Promotion in Z
Formal methods such as Z are generally criticised for their lack of practical applicability. As in other areas of software engineering, patterns help to construct, analyse and describe formal texts. Once a method has a catalogue of patterns, development can proceed by applying patterns, and by moving from one sort of pattern to another. This paper illustrates a developmental use of patterns. Fi...
متن کاملSPQR: Use of a First-Order Theorem Prover for Flexibly Finding Design Patterns in Source Code
Previous approaches to discovering design patterns in source code have suffered from a need to enumerate static descriptions of structural and behavioural relationships, resulting in a finite library of variations on pattern implementation. Our approach, System for Pattern Query and Recognition, or SPQR, differs in that we do not seek statically to encode each pattern and each variant that we w...
متن کاملSPQR: Flexible Automated Design Pattern Extraction From Source Code
Previous automated approaches to discovering design patterns in source code have suffered from a need to enumerate static descriptions of structural and behavioural relationships, resulting in a finite library of variations on pattern implementation. Our approach, System for Pattern Query and Recognition, or SPQR, differs in that we do not seek statically to encode each pattern and each variant...
متن کاملElemental Design Patterns and the ρ-calculus: Foundations for Automated Design Pattern Detection in SPQR
Finding design patterns in source code helps in maintenance, comprehension, refactoring and design validation during software development. SPQR (System for Pattern Query and Recognition) is a toolset for the automated discovery of design patterns in source code. SPQR uses a logical inference system to reveal large numbers of patterns and their variations from a small number of definitions. A fo...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2008